﻿/**	@file		iris_type.h
 *	@date		(2010-02-13 16:12:13)/(2010-02-13 16:12:13)
 *-----------------------------------------------------------------------------
 *	@version	1.0.1.1
 *	@author		Nick Shallery	(nicknide@gmail.com)
 *	@copyright	YOU HAVE ALL LEFT WITH THIS CODE WHILE YOU KEEP COMMENT IN EVERY COPY.
 *-----------------------------------------------------------------------------
**/

#if			!defined(__LOLIX_LXIRIS__IRIS_TYPE__H__NICK__K_IN_G__)
#define		__LOLIX_LXIRIS__IRIS_TYPE__H__NICK__K_IN_G__
//==============================================================================
//--------------------------------------------------------------------------
#if			!defined(__LOLIX__LOLIX_TYPE__K_IN_G__)
	#include	"../../lolix/lolix_type.h"
#endif	//	!defined(__LOLIX__LOLIX_TYPE__K_IN_G__)

#if			!defined(__LOLIX__SOLA__RECT__K_IN_G__)
	#include	"../../lolix/sola/rect.hpp"
#endif	//	!defined(__LOLIX__SOLA__RECT__K_IN_G__)

#if			!defined(__LOLIX__SOLA__VEC__NICK__K_IN_G__)
	#include	"../../lolix/sola/vec.hpp"
#endif	//	!defined(__LOLIX__SOLA__VEC__NICK__K_IN_G__)

namespace lxiris{
	struct iris_size
		: public lolix::sola::vec<2, lolix::lx_u32>
	{
	};
	STATIC_ASSERT(sizeof iris_size == 8);

	struct iris_rect
		: public lolix::sola::rect<float>
	{
		LOLIX_INLINE_CALL iris_rect(void){}
		LOLIX_INLINE_CALL iris_rect(float l, float r, float b, float t)
			: rect<float>(l, r, b, t)
			{}
		template<typename _Ty>
		LOLIX_INLINE_CALL iris_rect(_Ty& r)
			: rect<float>(r)
			{
			}
	};
	STATIC_ASSERT(sizeof iris_rect == 16);
}
//--------------------------------------------------------------------------
//==============================================================================
#endif	//	!defined(__LOLIX_LXIRIS__IRIS_TYPE__H__NICK__K_IN_G__)
